Software /
code /
prosody
File
teal-src/core/storagemanager.d.tl @ 12953:ebe3b2f96cad
mod_tokenauth: Switch to new token format (invalidates existing tokens!)
The new format has the following properties:
- 5 bytes longer than the previous format
- The token now has separate 'id' and 'secret' parts - the token itself is no
longer stored in the DB, and the secret part is hashed
- The only variable length field (JID) has been moved to the end
- The 'secret-token:' prefix (RFC 8959) is now included
Compatibility with the old token format was not maintained, and all previously
issued tokens are invalid after this commit (they will be removed from the DB
if used).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 21 Mar 2023 14:33:29 +0000 |
parent | 12802:4a8740e01813 |
line wrap: on
line source
-- Storage local record API Description -- -- This is written as a TypedLua description -- Key-Value stores (the default) local stanza = require"util.stanza".stanza_t local record keyval_store get : function ( keyval_store, string ) : any , string set : function ( keyval_store, string, any ) : boolean, string end -- Map stores (key-key-value stores) local record map_store get : function ( map_store, string, any ) : any, string set : function ( map_store, string, any, any ) : boolean, string set_keys : function ( map_store, string, { any : any }) : boolean, string remove : table end -- Archive stores local record archive_query start : number -- timestamp ["end"]: number -- timestamp with : string after : string -- archive id before : string -- archive id total : boolean end local record archive_store -- Optional set of capabilities caps : { -- Optional total count of matching items returned as second return value from :find() string : any } -- Add to the archive append : function ( archive_store, string, string, any, number, string ) : string, string -- Iterate over archive type iterator = function () : string, any, number, string find : function ( archive_store, string, archive_query ) : iterator, integer -- Removal of items. API like find. Optional delete : function ( archive_store, string, archive_query ) : boolean | number, string -- Array of dates which do have messages (Optional) dates : function ( archive_store, string ) : { string }, string -- Map of counts per "with" field summary : function ( archive_store, string, archive_query ) : { string : integer }, string -- Map-store API get : function ( archive_store, string, string ) : stanza, number, string get : function ( archive_store, string, string ) : nil, string set : function ( archive_store, string, string, stanza, number, string ) : boolean, string end -- This represents moduleapi local record coremodule -- If the first string is omitted then the name of the module is used -- The second string is one of "keyval" (default), "map" or "archive" open_store : function (archive_store, string, string) : keyval_store, string open_store : function (archive_store, string, string) : map_store, string open_store : function (archive_store, string, string) : archive_store, string -- Other module methods omitted end return coremodule